package cn.tedu.zx.ums.service;

import cn.tedu.zx.common.restful.JsonPage;
import cn.tedu.zx.pojo.users.param.*;
import cn.tedu.zx.pojo.users.vo.*;
import org.springframework.transaction.annotation.Transactional;

@Transactional
public interface IUserRegService {

    void addNew(UserRegAddNewParam userRegAddNewParam);

    void updateInfoById(Long id,UserUpdateInfoParam userUpdateInfoParam);

    UserStandardVO getStandardById(Long id);

    JsonPage<UserListItemVO> list(Integer pageNum);
    JsonPage<UserListItemVO> list(Integer pageNum, Integer pageSize);

    void updateIsEnable(Long id, Integer isEnable);

    void deleteById(Long id);

    void updateDataById(UserUpdateDataParam userUpdateDataParam);

    void updateAccountById(UserUpdateAccountParam userUpdateAccountParam);

   // UserLoginInfoVO login(UserLoginParam userLoginParam);
//    String login(UserLoginParam userLoginParam);

    UserRemPasswordVO getUserRemPassword(String phone);
    void updateUserRemPassword( UserRemPasswordParam userRemPasswordParam);

    UpdatePasswordByEmailVO getUserPasswordByEmail(String email);

    UserData getUserData(String username);
}
